Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Spectral element method</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Spectral_element_method"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Spectral_element_method rootpage-Spectral_element_method skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Spectral element method</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p>In the numerical solution of <a href="Partial_differential_equations" class="mw-redirect" title="Partial differential equations">partial differential equations</a>, a topic in <a href="Mathematics" title="Mathematics">mathematics</a>, the <b>spectral element method</b> (SEM) is a formulation of the <a href="Finite_element_method" title="Finite element method">finite element method</a> (FEM) that uses high-degree <a href="Piecewise" class="mw-redirect" title="Piecewise">piecewise</a> <a href="Polynomial" title="Polynomial">polynomials</a> as basis functions. The spectral element method was introduced in a 1984 paper<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> by A. T. Patera. Although Patera is credited with development of the method, his work was a rediscovery of an existing method (see Development History)
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Discussion">Discussion</h2></div>
<p>The <a href="Spectral_method" title="Spectral method">spectral method</a> expands the solution in <a href="Trigonometric_polynomial" title="Trigonometric polynomial">trigonometric</a> series, a chief advantage being that the resulting method is of a very high order.
This approach relies on the fact that <a href="Trigonometric_polynomial" title="Trigonometric polynomial">trigonometric polynomials</a> are an <a href="Orthonormal_basis" title="Orthonormal basis">orthonormal basis</a> for <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle L^{2}(\Omega )}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<mi mathvariant="normal">Ω<!-- Ω --></mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle L^{2}(\Omega )}</annotation>
</semantics>
</math></span><img src="./2352f79f73ea92b82f762f072e41bb4a4cef2395.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:6.124ex; height:3.176ex;" alt="{\displaystyle L^{2}(\Omega )}" loading="lazy"></span>.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
The spectral element method chooses instead a high degree piecewise polynomial basis functions, also achieving a very high order of accuracy.
Such polynomials are usually orthogonal <a href="Chebyshev_polynomial" class="mw-redirect" title="Chebyshev polynomial">Chebyshev polynomials</a> or very high order <a href="Lagrange_polynomial" title="Lagrange polynomial">Lagrange polynomials</a> over non-uniformly spaced nodes.
In SEM computational error decreases exponentially as the order of approximating polynomial increases, therefore a fast convergence of solution to the exact solution is realized with fewer degrees of freedom of the structure in comparison with FEM.
In <a href="Structural_health_monitoring" title="Structural health monitoring">structural health monitoring</a>, FEM can be used for detecting large flaws in a structure, but as the size of the flaw is reduced there is a need to use a high-frequency wave. In order to simulate the propagation of a high-frequency wave, the FEM mesh required is very fine resulting in increased computational time. On the other hand, SEM provides good accuracy with fewer degrees of freedom.
Non-uniformity of nodes helps to make the mass matrix diagonal, which saves time and memory and is also useful for adopting a central difference method (CDM).
The disadvantages of SEM include difficulty in modeling complex geometry, compared to the flexibility of FEM.
</p><p>Although the method can be applied with a modal piecewise orthogonal polynomial basis, it is most often implemented with a nodal tensor product Lagrange basis.<sup id="cite_ref-:0_3-0" class="reference"><a href="#cite_note-:0-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> The method gains its efficiency by placing the nodal points at the Legendre-Gauss-Lobatto (LGL) points and performing the Galerkin method integrations with a reduced <a href="Gaussian_quadrature" title="Gaussian quadrature">Gauss-Lobatto quadrature</a> using the same nodes. With this combination, simplifications result such that mass lumping occurs at all nodes and a collocation procedure results at interior points.
</p><p>The most popular applications of the method are in computational fluid dynamics<sup id="cite_ref-:0_3-1" class="reference"><a href="#cite_note-:0-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> and modeling seismic wave propagation.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="A-priori_error_estimate">A-priori error estimate</h2></div>
<p>The classic analysis of <a href="Galerkin_method" title="Galerkin method">Galerkin methods</a> and <a href="C%C3%A9a's_lemma" title="Céa's lemma">Céa's lemma</a> holds here and it can be shown that, if <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle u}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>u</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle u}</annotation>
</semantics>
</math></span><img src="./c3e6bb763d22c20916ed4f0bb6bd49d7470cffd8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.33ex; height:1.676ex;" alt="{\displaystyle u}" loading="lazy"></span> is the solution of the weak equation, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle u_{N}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle u_{N}}</annotation>
</semantics>
</math></span><img src="./d622b557db2a7fcb09e58b256526a2000625e8a7.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.021ex; height:2.009ex;" alt="{\displaystyle u_{N}}" loading="lazy"></span> is the approximate solution and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle u\in H^{s+1}(\Omega )}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>u</mi>
<mo>∈<!-- ∈ --></mo>
<msup>
<mi>H</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>s</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<mi mathvariant="normal">Ω<!-- Ω --></mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle u\in H^{s+1}(\Omega )}</annotation>
</semantics>
</math></span><img src="./14a9f1ddcd568e09c09e2f8daf9bef5cb894e3bc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:12.865ex; height:3.176ex;" alt="{\displaystyle u\in H^{s+1}(\Omega )}" loading="lazy"></span>:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \|u-u_{N}\|_{H^{1}(\Omega )}\leqq C_{s}N^{-s}\|u\|_{H^{s+1}(\Omega )}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<mi>u</mi>
<mo>−<!-- − --></mo>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
</msub>
<msub>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<msup>
<mi>H</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<mi mathvariant="normal">Ω<!-- Ω --></mi>
<mo stretchy="false">)</mo>
</mrow>
</msub>
<mo>≦<!-- ≦ --></mo>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>s</mi>
</mrow>
</msub>
<msup>
<mi>N</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mi>s</mi>
</mrow>
</msup>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<mi>u</mi>
<msub>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<msup>
<mi>H</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>s</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<mi mathvariant="normal">Ω<!-- Ω --></mi>
<mo stretchy="false">)</mo>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \|u-u_{N}\|_{H^{1}(\Omega )}\leqq C_{s}N^{-s}\|u\|_{H^{s+1}(\Omega )}}</annotation>
</semantics>
</math></span><img src="./49c3cb019c55ebb7d2361a94ba190b86ffbb7404.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.338ex; width:35.037ex; height:3.509ex;" alt="{\displaystyle \|u-u_{N}\|_{H^{1}(\Omega )}\leqq C_{s}N^{-s}\|u\|_{H^{s+1}(\Omega )}}" loading="lazy"></span></dd></dl>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N}</annotation>
</semantics>
</math></span><img src="./f5e3890c981ae85503089652feb48b191b57aae3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.064ex; height:2.176ex;" alt="{\displaystyle N}" loading="lazy"></span> is related to the discretization of the domain (ie. element length), <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle C_{s}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>s</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle C_{s}}</annotation>
</semantics>
</math></span><img src="./3b6d160c0ac08478db6e852c204a78cd9bc2e14d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.665ex; height:2.509ex;" alt="{\displaystyle C_{s}}" loading="lazy"></span> is independent from <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N}</annotation>
</semantics>
</math></span><img src="./f5e3890c981ae85503089652feb48b191b57aae3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.064ex; height:2.176ex;" alt="{\displaystyle N}" loading="lazy"></span>, and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle s}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>s</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle s}</annotation>
</semantics>
</math></span><img src="./01d131dfd7673938b947072a13a9744fe997e632.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.09ex; height:1.676ex;" alt="{\displaystyle s}" loading="lazy"></span> is no larger than the degree of the piecewise polynomial basis. Similar results can be obtained to bound the error in stronger topologies. If <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k\leq s+1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
<mo>≤<!-- ≤ --></mo>
<mi>s</mi>
<mo>+</mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k\leq s+1}</annotation>
</semantics>
</math></span><img src="./296fdc6721907c04d4777efaf47515aaae463b3b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:9.403ex; height:2.343ex;" alt="{\displaystyle k\leq s+1}" loading="lazy"></span>
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \|u-u_{N}\|_{H^{k}(\Omega )}\leq C_{s,k}N^{k-1-s}\|u\|_{H^{s+1}(\Omega )}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<mi>u</mi>
<mo>−<!-- − --></mo>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
</msub>
<msub>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<msup>
<mi>H</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<mi mathvariant="normal">Ω<!-- Ω --></mi>
<mo stretchy="false">)</mo>
</mrow>
</msub>
<mo>≤<!-- ≤ --></mo>
<msub>
<mi>C</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>s</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<msup>
<mi>N</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
<mo>−<!-- − --></mo>
<mi>s</mi>
</mrow>
</msup>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<mi>u</mi>
<msub>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<msup>
<mi>H</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>s</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<mi mathvariant="normal">Ω<!-- Ω --></mi>
<mo stretchy="false">)</mo>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \|u-u_{N}\|_{H^{k}(\Omega )}\leq C_{s,k}N^{k-1-s}\|u\|_{H^{s+1}(\Omega )}}</annotation>
</semantics>
</math></span><img src="./309975a2fca03c14fd194447c79916046f36547f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.338ex; width:39.336ex; height:3.676ex;" alt="{\displaystyle \|u-u_{N}\|_{H^{k}(\Omega )}\leq C_{s,k}N^{k-1-s}\|u\|_{H^{s+1}(\Omega )}}" loading="lazy"></span>
</p><p>As we increase <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N}</annotation>
</semantics>
</math></span><img src="./f5e3890c981ae85503089652feb48b191b57aae3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.064ex; height:2.176ex;" alt="{\displaystyle N}" loading="lazy"></span>, we can also increase the degree of the basis functions. In this case, if <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle u}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>u</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle u}</annotation>
</semantics>
</math></span><img src="./c3e6bb763d22c20916ed4f0bb6bd49d7470cffd8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.33ex; height:1.676ex;" alt="{\displaystyle u}" loading="lazy"></span> is an <a href="Analytic_function" title="Analytic function">analytic function</a>:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \|u-u_{N}\|_{H^{1}(\Omega )}\leqq C\exp(-\gamma N)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<mi>u</mi>
<mo>−<!-- − --></mo>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
</msub>
<msub>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<msup>
<mi>H</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<mi mathvariant="normal">Ω<!-- Ω --></mi>
<mo stretchy="false">)</mo>
</mrow>
</msub>
<mo>≦<!-- ≦ --></mo>
<mi>C</mi>
<mi>exp</mi>
<mo>⁡<!-- ⁡ --></mo>
<mo stretchy="false">(</mo>
<mo>−<!-- − --></mo>
<mi>γ<!-- γ --></mi>
<mi>N</mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \|u-u_{N}\|_{H^{1}(\Omega )}\leqq C\exp(-\gamma N)}</annotation>
</semantics>
</math></span><img src="./a267c48b9d06bfbf5b85bca20243cbe43a685651.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.338ex; width:30.281ex; height:3.343ex;" alt="{\displaystyle \|u-u_{N}\|_{H^{1}(\Omega )}\leqq C\exp(-\gamma N)}" loading="lazy"></span></dd></dl>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \gamma }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>γ<!-- γ --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \gamma }</annotation>
</semantics>
</math></span><img src="./a223c880b0ce3da8f64ee33c4f0010beee400b1a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:1.262ex; height:2.176ex;" alt="{\displaystyle \gamma }" loading="lazy"></span> depends only on <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle u}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>u</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle u}</annotation>
</semantics>
</math></span><img src="./c3e6bb763d22c20916ed4f0bb6bd49d7470cffd8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.33ex; height:1.676ex;" alt="{\displaystyle u}" loading="lazy"></span>.
</p><p>The Hybrid-Collocation-Galerkin possesses some superconvergence properties.<sup id="cite_ref-:2_5-0" class="reference"><a href="#cite_note-:2-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> The LGL form of SEM is equivalent,<sup id="cite_ref-:1_6-0" class="reference"><a href="#cite_note-:1-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> so it achieves the same superconvergence properties.
</p>
<div class="mw-heading mw-heading2"><h2 id="Development_History">Development History</h2></div>
<p>Development of the most popular LGL form of the method is normally attributed to Maday and Patera.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> However, it was developed more than a decade earlier. First, there is the Hybrid-Collocation-Galerkin method (HCGM),<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-:2_5-1" class="reference"><a href="#cite_note-:2-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> which applies collocation at the interior Lobatto points and uses a Galerkin-like integral procedure at element interfaces. The Lobatto-Galerkin method described by Young<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> is identical to SEM, while the HCGM is equivalent to these methods.<sup id="cite_ref-:1_6-1" class="reference"><a href="#cite_note-:1-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> This earlier work is ignored in the spectral literature.
</p>
<div class="mw-heading mw-heading2"><h2 id="Related_methods">Related methods</h2></div>
<ul><li>G-NI or SEM-NI are the most used spectral methods. The Galerkin formulation of spectral methods or spectral element methods, for G-NI or SEM-NI respectively, is modified and <a href="Gaussian_numerical_integration" class="mw-redirect" title="Gaussian numerical integration">Gauss-Lobatto integration</a> is used instead of integrals in the definition of the <a href="Bilinear_form" title="Bilinear form">bilinear form</a> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a(\cdot ,\cdot )}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>a</mi>
<mo stretchy="false">(</mo>
<mo>⋅<!-- ⋅ --></mo>
<mo>,</mo>
<mo>⋅<!-- ⋅ --></mo>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a(\cdot ,\cdot )}</annotation>
</semantics>
</math></span><img src="./fed8ed14a5035a5b274c792556b24b9fd6044cdd.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:5.367ex; height:2.843ex;" alt="{\displaystyle a(\cdot ,\cdot )}" loading="lazy"></span> and in the functional <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle F}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>F</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle F}</annotation>
</semantics>
</math></span><img src="./545fd099af8541605f7ee55f08225526be88ce57.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.741ex; height:2.176ex;" alt="{\displaystyle F}" loading="lazy"></span>. Their convergence is a consequence of Strang's lemma.</li>
<li>SEM is a Galerkin based FEM (finite element method) with Lagrange basis (shape) functions and reduced numerical integration by <a href="Gaussian_quadrature" title="Gaussian quadrature">Lobatto quadrature</a> using the same nodes.</li>
<li>The <a href="Pseudo-spectral_method" title="Pseudo-spectral method">pseudospectral method</a>, <a href="Orthogonal_collocation" class="mw-redirect" title="Orthogonal collocation">orthogonal collocation</a>, differential quadrature method, and G-NI are different names for the same method. These methods employ global rather than piecewise polynomial basis functions. The extension to a piecewise FEM or SEM basis is almost trivial.<sup id="cite_ref-:1_6-2" class="reference"><a href="#cite_note-:1-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup></li>
<li>The spectral element method uses a <a href="Tensor_product" title="Tensor product">tensor product</a> space spanned by nodal basis functions associated with <a href="Gaussian_quadrature#Gauss–Lobatto_rules" title="Gaussian quadrature">Gauss–Lobatto points</a>. In contrast, the <a href="Hp-FEM" title="Hp-FEM">p-version finite element method</a> spans a space of high order polynomials by nodeless basis functions, chosen approximately orthogonal for <a href="Numerical_stability" title="Numerical stability">numerical stability</a>. Since not all interior basis functions need to be present, the p-version finite element method can create a space that contains all polynomials up to a given degree with fewer degrees of freedom.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> However, some speedup techniques possible in spectral methods due to their tensor-product character are no longer available. The name <i>p-version</i> means that accuracy is increased by increasing the order of the approximating polynomials (thus, <i>p</i>) rather than decreasing the mesh size, <i>h</i>.</li>
<li>The <i>hp</i> finite element method (<a href="Hp-FEM" title="Hp-FEM">hp-FEM</a>) combines the advantages of the <i>h</i> and <i>p</i> refinements to obtain exponential convergence rates.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFPatera1984" class="citation journal cs1">Patera, A. T. (1984). "A spectral element method for fluid dynamics - Laminar flow in a channel expansion". <i>Journal of Computational Physics</i>. <b>54</b> (3): <span class="nowrap">468–</span>488. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1984JCoPh..54..468P">1984JCoPh..54..468P</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2F0021-9991%2884%2990128-1">10.1016/0021-9991(84)90128-1</a>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite id="CITEREFMuradova2008" class="citation journal cs1">Muradova, Aliki D. (2008). "The spectral method and numerical continuation algorithm for the von Kármán problem with postbuckling behaviour of solutions". <i>Adv Comput Math</i>. <b>29</b> (2): <span class="nowrap">179–</span>206, 2008. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2Fs10444-007-9050-7">10.1007/s10444-007-9050-7</a>. <a href="Hdl_(identifier)" class="mw-redirect" title="Hdl (identifier)">hdl</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://hdl.handle.net/1885%2F56758">1885/56758</a></span>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:46564029">46564029</a>.</cite></span>
</li>
<li id="cite_note-:0-3"><span class="mw-cite-backlink">^ <a href="#cite_ref-:0_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:0_3-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">Karniadakis, G. and Sherwin, S.: Spectral/hp Element Methods for Computational Fluid Dynamics, Oxford Univ. Press, (2013), <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>9780199671366</bdi></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text">Komatitsch, D. and Villote, J.-P.: “The Spectral Element Method: An Efficient Tool to Simulate the Seismic Response of 2D and 3D Geologic Structures,” Bull. Seismological Soc. America, 88, 2, 368-392 (1998)</span>
</li>
<li id="cite_note-:2-5"><span class="mw-cite-backlink">^ <a href="#cite_ref-:2_5-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:2_5-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">Wheeler, M.F.: “A C0-Collocation-Finite Element Method for Two-Point Boundary Value and One Space Dimension Parabolic Problems,” SIAM J. Numer. Anal., 14, 1, 71-90 (1977)</span>
</li>
<li id="cite_note-:1-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-:1_6-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:1_6-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-:1_6-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text">Young, L.C., “Orthogonal Collocation Revisited,” Comp. Methods in Appl. Mech. and Engr. 345 (1) 1033-1076 (Mar. 2019), <a rel="nofollow" class="external text" href="https://doi.org/10.1016/j.cma.2018.10.019">doi.org/10.1016/j.cma.2018.10.019</a></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text">Maday, Y. and Patera, A. T., “Spectral Element Methods for the Incompressible Navier-Stokes Equations” In State-of-the-Art Surveys on Computational Mechanics, A.K. Noor, editor, ASME, New York (1989).</span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text">Diaz, J., “A Collocation-Galerkin Method for the Two-point Boundary Value Problem Using Continuous Piecewise Polynomial Spaces,” SIAM J. Num. Anal., 14 (5) 844-858 (1977) ISSN 0036-1429</span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text">Young, L.C., “A Finite-Element Method for Reservoir Simulation,” Soc. Petr. Engrs. J. 21(1) 115-128, (Feb. 1981), paper SPE 7413 presented Oct. 1978, <a rel="nofollow" class="external text" href="https://doi.org/10.2118/7413-PA">doi.org/10.2118/7413-PA</a></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text">Barna Szabó and <a href="Ivo_Babu%C5%A1ka" title="Ivo Babuška">Ivo Babuška</a>, Finite element analysis, John Wiley &amp; Sons, Inc., New York, 1991. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>0-471-50273-1</bdi></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text">P. Šolín, K. Segeth, I. Doležel: Higher-order finite element methods, Chapman &amp; Hall/CRC Press, 2003. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>1-58488-438-X</bdi></span>
</li>
</ol></div>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Numerical_methods_for_partial_differential_equations284" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="Numerical_methods_for_partial_differential_equations284" style="font-size:114%;margin:0 4em"><a href="Numerical_methods_for_partial_differential_equations" title="Numerical methods for partial differential equations">Numerical methods for partial differential equations</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Finite_difference_method" title="Finite difference method">Finite difference</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="Parabolic_partial_differential_equation" title="Parabolic partial differential equation">Parabolic</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="FTCS_scheme" title="FTCS scheme">Forward-time central-space</a> (FTCS)</li>
<li><a href="Crank%E2%80%93Nicolson_method" title="Crank–Nicolson method">Crank–Nicolson</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;"><a href="Hyperbolic_partial_differential_equation" title="Hyperbolic partial differential equation">Hyperbolic</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Lax%E2%80%93Friedrichs_method" title="Lax–Friedrichs method">Lax–Friedrichs</a></li>
<li><a href="Lax%E2%80%93Wendroff_method" title="Lax–Wendroff method">Lax–Wendroff</a></li>
<li><a href="MacCormack_method" title="MacCormack method">MacCormack</a></li>
<li><a href="Upwind_scheme" title="Upwind scheme">Upwind</a></li>
<li><a href="Method_of_characteristics" title="Method of characteristics">Method of characteristics</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;">Others</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Alternating_direction_implicit_method" class="mw-redirect" title="Alternating direction implicit method">Alternating direction-implicit</a> (ADI)</li>
<li><a href="Finite-difference_frequency-domain_method" title="Finite-difference frequency-domain method">Finite-difference frequency-domain</a> (FDFD)</li>
<li><a href="Finite-difference_time-domain_method" title="Finite-difference time-domain method">Finite-difference time-domain</a> (FDTD)</li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Finite_volume_method" title="Finite volume method">Finite volume</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Godunov's_scheme" title="Godunov's scheme">Godunov</a></li>
<li><a href="High-resolution_scheme" title="High-resolution scheme">High-resolution</a></li>
<li><a href="MUSCL_scheme" title="MUSCL scheme">Monotonic upstream-centered</a> (MUSCL)</li>
<li><a href="AUSM" class="mw-redirect" title="AUSM">Advection upstream-splitting</a> (AUSM)</li>
<li><a href="Riemann_solver" title="Riemann solver">Riemann solver</a></li>
<li><a href="ENO_methods" title="ENO methods">Essentially non-oscillatory</a> (ENO)</li>
<li><a href="WENO_methods" title="WENO methods">Weighted essentially non-oscillatory</a> (WENO)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Finite_element_method" title="Finite element method">Finite element</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Hp-FEM" title="Hp-FEM">hp-FEM</a></li>
<li><a href="Extended_finite_element_method" title="Extended finite element method">Extended</a> (XFEM)</li>
<li><a href="Discontinuous_Galerkin_method" title="Discontinuous Galerkin method">Discontinuous Galerkin</a> (DG)</li>
<li> (SEM)</li>
<li><a href="Mortar_methods" title="Mortar methods">Mortar</a></li>
<li><a href="Gradient_discretisation_method" title="Gradient discretisation method">Gradient discretisation</a> (GDM)</li>
<li><a href="Loubignac_iteration" title="Loubignac iteration">Loubignac iteration</a></li>
<li><a href="Smoothed_finite_element_method" title="Smoothed finite element method">Smoothed</a> (S-FEM)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Meshfree_methods" title="Meshfree methods">Meshless/Meshfree</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Smoothed-particle_hydrodynamics" title="Smoothed-particle hydrodynamics">Smoothed-particle hydrodynamics</a> (SPH)</li>
<li><a href="Peridynamics" title="Peridynamics">Peridynamics</a> (PD)</li>
<li><a href="Moving_particle_semi-implicit_method" title="Moving particle semi-implicit method">Moving particle semi-implicit method</a> (MPS)</li>
<li><a href="Material_point_method" title="Material point method">Material point method</a> (MPM)</li>
<li><a href="Particle-in-cell" title="Particle-in-cell">Particle-in-cell</a> (PIC)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Domain_decomposition_methods" title="Domain decomposition methods">Domain decomposition</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Schur_complement_method" title="Schur complement method">Schur complement</a></li>
<li><a href="Fictitious_domain_method" title="Fictitious domain method">Fictitious domain</a></li>
<li><a href="Schwarz_alternating_method" title="Schwarz alternating method">Schwarz alternating</a>
<ul><li><a href="Additive_Schwarz_method" title="Additive Schwarz method">additive</a></li>
<li><a href="Abstract_additive_Schwarz_method" title="Abstract additive Schwarz method">abstract additive</a></li></ul></li>
<li><a href="Neumann%E2%80%93Dirichlet_method" title="Neumann–Dirichlet method">Neumann–Dirichlet</a></li>
<li><a href="Neumann%E2%80%93Neumann_methods" title="Neumann–Neumann methods">Neumann–Neumann</a></li>
<li><a href="Poincar%C3%A9%E2%80%93Steklov_operator" title="Poincaré–Steklov operator">Poincaré–Steklov operator</a></li>
<li><a href="Balancing_domain_decomposition_method" title="Balancing domain decomposition method">Balancing</a> (BDD)</li>
<li><a href="BDDC" title="BDDC">Balancing by constraints</a> (BDDC)</li>
<li><a href="FETI" title="FETI">Tearing and interconnect</a> (FETI)</li>
<li><a href="FETI-DP" title="FETI-DP">FETI-DP</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Others</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Spectral_method" title="Spectral method">Spectral</a></li>
<li><a href="Pseudo-spectral_method" title="Pseudo-spectral method">Pseudospectral</a> (DVR)</li>
<li><a href="Method_of_lines" title="Method of lines">Method of lines</a></li>
<li><a href="Multigrid_method" title="Multigrid method">Multigrid</a></li>
<li><a href="Collocation_method" title="Collocation method">Collocation</a></li>
<li><a href="Level-set_method" title="Level-set method">Level-set</a></li>
<li><a href="Boundary_element_method" title="Boundary element method">Boundary element</a>
<ul><li><a href="Method_of_moments_(electromagnetics)" title="Method of moments (electromagnetics)">Method of moments</a></li></ul></li>
<li><a href="Immersed_boundary_method" title="Immersed boundary method">Immersed boundary</a></li>
<li><a href="Analytic_element_method" title="Analytic element method">Analytic element</a></li>
<li><a href="Isogeometric_analysis" title="Isogeometric analysis">Isogeometric analysis</a></li>
<li><a href="Infinite_difference_method" title="Infinite difference method">Infinite difference method</a></li>
<li><a href="Infinite_element_method" title="Infinite element method">Infinite element method</a></li>
<li><a href="Galerkin_method" title="Galerkin method">Galerkin method</a>
<ul><li><a href="Petrov%E2%80%93Galerkin_method" title="Petrov–Galerkin method">Petrov–Galerkin method</a></li></ul></li>
<li><a href="Validated_numerics" title="Validated numerics">Validated numerics</a></li>
<li><a href="Computer-assisted_proof" title="Computer-assisted proof">Computer-assisted proof</a></li>
<li><a href="Integrable_algorithm" title="Integrable algorithm">Integrable algorithm</a></li>
<li><a href="Method_of_fundamental_solutions" title="Method of fundamental solutions">Method of fundamental solutions</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Numerical_methods_for_ordinary_differential_equations" title="Numerical methods for ordinary differential equations">Numerical methods for ordinary differential equations</a></li>
<li><a href="Numerical_integration" title="Numerical integration">Numerical integration</a></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-03-05" href="https://en.wikipedia.org/wiki/?title=Spectral_element_method&amp;oldid=1278945075">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>